package com.sm.li.service;

import com.sm.li.common.page.PageBean;
import com.sm.li.dto.AdminDTO;
import com.sm.li.dto.MenuDTO;
import com.sm.li.dto.RoleDTO;
import com.sm.li.entity.Admin;
import com.sm.li.entity.Role;
import com.sm.li.query.AdminQuery;
import com.sm.li.query.RoleQuery;
import com.sm.li.service.base.BaseService;

import java.util.List;
import java.util.Set;

public interface RoleService extends BaseService<Role> {

    PageBean<RoleDTO> searchPage(RoleQuery roleQuery);

    int setRoleMenu(Long roleId, List<Long> menuIds);

    List<Long> getMenusByRoleId(Long roleId);

    int deleteCascade(Long id);

    int batchCascadeDelete(List<Long> ids);
//    /**
//     * 通过角色获得其权限
//     */
//    List<MenuDTO> getAllMenuByRoleId(List<Long> roleIds);

    // 通过roleIds拿到所有的权限
    List<MenuDTO> getMenusByRoleIds(List<Long> roleIds);
}
